#include "stdafx.h"
#include "FEngineException.h"

using namespace std;

namespace FEngine
{
	FEngineException::FEngineException(const std::string& _class, const std::string& _method, const std::string& _info)
		: mClassName(_class), mMethodName(_method), mInfo(_info)
	{
		mMessage = "An exception has been trown from " + mClassName + "::" + mMethodName;

		if (mInfo != "")
			mMessage += " - Informations : " + mInfo;
	}

	FEngineException::~FEngineException()
	{
	}

	string FEngineException::getMessage() const
	{
		return mMessage;
	}

	std::string FEngineException::getClassName() const
	{
		return mClassName;
	}
	
	std::string FEngineException::getMethodName() const
	{
		return mMethodName;
	}

	std::string FEngineException::getInformation() const
	{
		return mInfo;
	}

} // namespace FEngine
